<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>

  <body>
    <script>
      // 箭头函数；
      // 1.只能改写 赋值式的函数 ；
      // function test(){

      // }
      // es5:
      // let test = function(){
      //     console.log("test");
      // }

      // ES6 箭头函数
      // let test = ()=>{
      //     console.log("test")
      // }

      // test();

      // 2.如果箭头函数的参数只有一个 那么 小括号可以省略
      // let fn = function(a){
      //     console.log("fn",a);
      // }

      // let fn = a=>{
      //     console.log("fn",a);
      // }
      // fn(1);

      // 3.箭头函数如果没有大括号 会隐式返还；
      // let fn = function(a){
      //     return a;
      // }

      // let fn = a=>{
      //     return a;
      // }
      // console.log(fn(2));
      // let fn = a=>a;
      // console.log(fn(3));

      // 4.箭头函数没有隐藏参数；
      // let fn = function(){
      //     console.log(arguments);
      // }
      // fn(1,2,3);

      // let fn = (...args)=>{
      //     // console.log(arguments);
      //     console.log(args);
      // }

      // fn(1,2,3);

      // 5.箭头函数 没有自定的this绑定；他的this绑定是上层的this；
      // let fn = ()=>{
      //     console.log(this);
      // }
      // // fn();
      // var obj = {
      //     name:"张三",
      //     // fn:fn,
      //     fn:()=>{
      //         console.log(this)
      //     },
      //     fn1:function(){
      //         console.log(this);
      //     }
      // }
      // obj.fn();
      // obj.fn1();

      // document.onclick = ()=>{
      //     // console.log(this);
      //     setTimeout(()=>{
      //             console.log(this);
      //     }, 1000);
      // }

      var arr = [
        {
          name: "张三",
          age: 20,
          gender: "男",
        },
        {
          name: "李四",
          age: 21,
          gender: "女",
        },
        {
          name: "王五",
          age: 24,
          gender: "男",
        },
        {
          name: "王小二",
          age: 26,
          gender: "男",
        },
      ];

      // 筛选  所有男的 筛选年龄大于22岁的人；
      var res = arr
        .filter(function (item) {
          return item.gender == "男";
        })
        .filter(function (item) {
          return item.age > 22;
        });
      console.log(res);

      // 改成成箭头函数；
    </script>
  </body>
</html>
